Designing Hardware that Supports Cycle-Accurate Deterministic Replay

نویسندگان

  • Brian Greskamp
  • Smruti R. Sarangi
  • Josep Torrellas
چکیده

Most computer hardware today is nondeterministic, meaning that two executions of a program will not be cycle-for-cycle identical at the microarchitectural level even if they start from the same microarchitectural state. Due to uninitialized state elements, I/O, and timing variations on high-speed buses, the microarchitectural states of the two executions will evolve differently. Such nondeterminism complicates system verification and makes hardware faults detected during bringup more difficult to reproduce and analyze. Consequently, we believe that board-level computer hardware should be designed in a way that supports cycle-accurate deterministic replay. In this paper, we outline the hardware required to provide this capability. We argue that the resulting hardware complexity is minimal, providing a net savings in bringup time and cost. We also show that potential applications of deterministic hardware extend far beyond hardware verification.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Survey in Deterministic Replaying Approaches in Multiprocessors

most multithread executions acts nondeterministic while execute on multiprocessor systems. Recording nondeterministic events in such executions can enable deterministic replay. So some researchers are focused on deterministic replay capability in recording important information during executions. In this survey we introduce Hardware-Base, Software-Base and Software-Hardware approaches that have...

متن کامل

Lessons Learned During the Development of the CapoOne Deterministic Multiprocessor Replay System

Current schemes for deterministic replay of parallel applications can be of great help for programmers. Software-only replay systems, while great at operating at the abstraction of user applications, incur large CPU overheads. Hardwareonly systems produce minimal, if any, CPU overhead, but because their focus is the low-level hardware primitive that records and replays the memory access interle...

متن کامل

ReTrace: Collecting Execution Trace with Virtual Machine Deterministic Replay

Execution trace is an important tool in computer architecture research. Unfortunately, existing trace collection techniques are often slow (due to software tracing overheads) or expensive (due to special tracing hardware requirements). Regardless of the method of collection, detailed trace files are generally large and inconvenient to store and share. We present ReTrace, a trace collection tool...

متن کامل

Replay Debugging for Distributed Applications

We have developed a new replay debugging tool, liblog, for distributed C/C++ applications. It logs the execution of deployed application processes and replays them deterministically, faithfully reproducing race conditions and non-deterministic failures, enabling careful offline analysis. To our knowledge, liblog is the first replay tool to address the requirements of large distributed systems: ...

متن کامل

Samsara: Efficient Deterministic Replay in Multiprocessor Environments with Hardware Virtualization Extensions

Deterministic replay, which provides the ability to travel backward in time and reconstruct the past execution flow of a multiprocessor system, has many prominent applications. Prior research in this area can be classified into two categories: hardware-only schemes and software-only schemes. While hardware-only schemes deliver high performance, they require significant modifications to the exis...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2006